# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=mitmproxy
pkgver=10.2.0
pkgrel=0
pkgdesc="Interactive TLS-capable intercepting HTTP proxy"
url="https://mitmproxy.org/"
license="MIT"
# armhf, s390x: limited by py3-zstandard
# ppc64le, riscv64, s390x: limited by py3-mitmproxy-rs
arch="noarch !armhf !ppc64le !riscv64 !s390x"
depends="
	py3-aioquic
	py3-asgiref
	py3-brotli
	py3-certifi
	py3-cryptography
	py3-flask
	py3-h11
	py3-h2
	py3-hyperframe
	py3-kaitaistruct
	py3-ldap3
	py3-mitmproxy-rs
	py3-msgpack
	py3-passlib
	py3-protobuf
	py3-openssl
	py3-parsing
	py3-pyperclip
	py3-ruamel.yaml
	py3-sortedcontainers
	py3-tornado
	py3-urwid
	py3-wsproto
	py3-publicsuffix2
	py3-zstandard
	"
makedepends="
	py3-gpep517
	py3-installer
	py3-setuptools
	py3-wheel
	"
checkdepends="
	py3-hypothesis
	py3-parver
	py3-pytest
	py3-pytest-asyncio
	py3-requests
	"
subpackages="$pkgname-pyc"
source="https://github.com/mitmproxy/mitmproxy/archive/$pkgver/mitmproxy-$pkgver.tar.gz
	skip-test-optmanager-x86.patch
	fix-openssl-tests.patch
	"

# secfixes:
#   7.0.3-r0:
#     - CVE-2021-39214

build() {
	gpep517 build-wheel \
		--wheel-dir .dist \
		--output-fd 3 3>&1 >&2
}

check() {
	pytest \
		--deselect "test/mitmproxy/test_version.py::test_get_version" \
		--deselect "test/mitmproxy/proxy/test_mode_servers.py::test_wireguard" \
		--deselect "test/mitmproxy/addons/test_script.py::test_order"
}

package() {
	python3 -m installer -d "$pkgdir" \
		.dist/mitmproxy-$pkgver-py3-none-any.whl
}

sha512sums="
dde49756394b6ea0c69e791f0ffe579d8ba2b0a321032af8700a4ba3d1a26039e477f24523fb34229faf0e9c71a29530938c8f302dc9131a674f4cb47a57f0c3  mitmproxy-10.2.0.tar.gz
1baa88dae9f664af4bed62f89a7f5d13685b42774ea19563eba7298ef09fa07fafb4d5f1650e044561a5d304451d916e6c9833ad9755204d424bea6ed3bdb4fd  skip-test-optmanager-x86.patch
7f37bcff3ea870224075f18745e382c9ba8bd3c8697be11d0eccf458a5f4eecdda097c2ae790f6f5db796512c03fb78988d3e96cbde5aac6cef6a8b8b767faab  fix-openssl-tests.patch
"
